/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manageBean;

import entidades.ArticuloTecnica;
import entidades.articulo;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author hgmartinez
 */
@ManagedBean
@SessionScoped
public class abc implements Serializable {

   private articulo art;
   private ArticuloTecnica articuloTecnica;
   private ArrayList<ArticuloTecnica> artTecnias;
   private double costounitario;
   private double consumoAnual;
   private double valorazion;
   private ArrayList<articulo> articulosE;
   private Map<String,String> arts = new HashMap<String, String>();
   
    public abc() {
        art=new articulo();
        articuloTecnica=new ArticuloTecnica();
        articulosE=new ArrayList();
        artTecnias=new ArrayList();
        valorazion=0.0;
        arts.put("Jeans Dama Talla 24-25", "Jeans Dama Talla 24-25");
        arts.put("Jeans Dama Talla 26-27", "Jeans Dama Talla 26-27");
        arts.put("Jeans Dama Talla 28-29", "Jeans Dama Talla 28-29");
        arts.put("Jeans Dama Talla 30-31", "Jeans Dama Talla 30-31");
        arts.put("Jeans Dama Talla 32-33", "Jeans Dama Talla 32-33");
        arts.put("Jeans Dama Talla 33-34", "Jeans Dama Talla 33-34");
        arts.put("Jeans Caballero Talla 28-29", "Jeans Caballero Talla 28-29");
        arts.put("Jeans Caballero Talla 30-31", "Jeans Caballero Talla 30-31");
        arts.put("Jeans Caballero Talla 33-33", "Jeans Caballero Talla 33-33");
        arts.put("Jeans Caballero Talla 34", "Jeans Caballero Talla 34");
        arts.put("Jeans Caballero Talla 36", "Jeans Caballero Talla 36");
        arts.put("Jeans Caballero Talla 38", "Jeans Caballero Talla 38");
        arts.put("Jeans Caballero Talla 38", "Jeans Caballero Talla 40");
        arts.put("Jeans Caballero Talla 38", "Jeans Caballero Talla 42");                
    }

    public Map<String, String> getArts() {
        return arts;
    }

    public void setArts(Map<String, String> arts) {
        this.arts = arts;
    }
  
    public ArrayList<articulo> getArticulosE() {
        return articulosE;
    }

    public void setArticulosE(ArrayList<articulo> articulosE) {
        this.articulosE = articulosE;
    }
    public articulo getArt() {
        return art;
    }

    public void setArt(articulo art) {
        this.art = art;
    }
    //////////////////////////////////////////
    /* procesos para la pagina              */
    //////////////////////////////////////////
    public void agregarElemento(){
        try{
            this.articulosE.add(this.art);
        }catch(Exception e){
            System.out.println("Problemas con el  ingreso de  articulos");
        }finally{
            this.reinit();
        } 
    }
    public void reinit(){
       this.art=new articulo();
    }
    public double getCostounitario(){
        costounitario=0.0;        
       for (Iterator<articulo> it = articulosE.iterator(); it.hasNext();) {
           articulo a = it.next();
           costounitario+=a.getConstoUnitario();
       }
        return  costounitario;
    }
    public double getConsumoAnual(){
        consumoAnual=0.0;
        for (Iterator<articulo> it = articulosE.iterator(); it.hasNext();) {
           articulo a = it.next();
           consumoAnual+=a.getConsumoAnual();
       }
        return consumoAnual;
    }

    ///////////////////////////////////////////////
    // Procesos par a generar  la segun tabla de //
    // de la tenica                             //
    //////////////////////////////////////////////
    public ArticuloTecnica getArticuloTecnica() {
        return articuloTecnica;
    }

    public void setArticuloTecnica(ArticuloTecnica articuloTecnica) {        
        this.articuloTecnica = articuloTecnica;
    }

    public ArrayList<ArticuloTecnica> getArtTecnias() {
        return artTecnias;
    }

    public void setArtTecnias() {
        for (Iterator<articulo> it = articulosE.iterator(); it.hasNext();) {
           articulo a = it.next();
           articuloTecnica=new ArticuloTecnica();
           //consumoAnual+=a.getConsumoAnual();
           articuloTecnica.setConstoUnitario(a.getConstoUnitario());
           articuloTecnica.setConsumoAnual(a.getConsumoAnual());
           articuloTecnica.setNombreArticulo(a.getNombreArticulo());
           articuloTecnica.setNumArticulo(a.getNumArticulo());
           articuloTecnica.setPorcentajeParticipacion(100/articulosE.size());
           articuloTecnica.setPorcentajeValorazion(a.getConstoUnitario()*a.getConsumoAnual());
           //articuloTecnica.setValorazion((a.getConstoUnitario()*a.getConsumoAnual())/this.sumatoriaValorazion());
            System.out.println("Aqui voy a  imprirmi a ver  si se  recorre "+articuloTecnica.toString());
           this.artTecnias.add(articuloTecnica);
       }        
    }
    public double sumatoriaValorazion(){
        for (Iterator<ArticuloTecnica> it = artTecnias.iterator(); it.hasNext();) {
           ArticuloTecnica a = it.next();
           valorazion+=a.getValorazion();
       }
        return valorazion;
    }
    public void procesarTabla(){
        this.setArtTecnias();
    }
   
    
    
}
